package com.ruijiang.service.TaskService;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruijiang.dto.count.VMTaskCountDto;
import com.ruijiang.dto.count.UserWorkCountDto;
import com.ruijiang.dto.insert.TaskInsertDto;
import com.ruijiang.dto.page.PageTaskDto;
import com.ruijiang.entity.Task;
import com.ruijiang.result.PageResult;
import com.ruijiang.vo.task.CollectReportVO;
import com.ruijiang.vo.task.TaskInfoVO;
import com.ruijiang.vo.task.TaskReportInfoVO;
import com.ruijiang.vo.task.UserWorkCountVO;
import com.ruijiang.vo.user.UserTaskCountVO;

import java.util.List;

public interface TaskService extends IService<Task> {

    PageResult getPageList(PageTaskDto dto);

    Boolean saveTask(TaskInsertDto dto);

    TaskInfoVO getTaskInfoById(String taskId);

    void cancelTask(String taskId, Task task);

    List<TaskReportInfoVO> getTaskReportInfo(String start, String end);

    List<CollectReportVO> CollectReport(String start, String end);

    List<UserWorkCountVO> getUserWorkTop10(String start, String end, Boolean isRepair, String regionId);

    UserTaskCountVO getUserWork(UserWorkCountDto dto);

    Integer getVMSupplyCount(String innerCode, String start, String end, VMTaskCountDto dto);

    Integer getVMRepairCount(String innerCode, String start, String end, VMTaskCountDto dto);
}
